package edu.suda.xsap.mapper;

import edu.suda.xsap.entity.MemberBind;
import edu.suda.xsap.entity.MemberCard;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MemberCardMapper {

    /**
     * 保存会员卡信息
     * @param memberCard 会员卡实体对象
     */
    void save(MemberCard memberCard);

    /**
     * 根据ID删除会员卡信息
     * @param id 会员卡的唯一标识符
     */
    void delete(Long id);

    /**
     * 查询所有会员卡信息
     * @return 会员卡实体对象列表
     */
    List<MemberCard> findAll();

    /**
     * 根据ID查询会员卡信息
     * @param id 会员卡的唯一标识符
     * @return 会员卡实体对象
     */
    MemberCard findById(Long id);

    /**
     * 根据会员ID查询会员卡信息
     * @param memberId 会员的唯一标识符
     * @return 会员卡实体对象列表
     */
    List<MemberCard> findMemberCardsByMemberId(Integer memberId);

    /**
     * 根据会员ID列表查询会员卡信息
     * @param memberIds 会员的唯一标识符列表
     * @return 会员卡实体对象列表
     */
    List<MemberCard> findMemberCardsByMemberIds(@Param("memberIds") List<Long> memberIds);

    /**
     * 根据会员ID和会员卡ID查询会员卡信息
     * @param memberIds 会员的唯一标识符
     * @return 会员卡实体对象
     */
    List<MemberBind> findMemberBindsByMemberIds(@Param("memberIds") List<Long> memberIds);

//            memberCardMapper.deleteBind(memberId);



}
